// app.js
// 导入模块，执行里面代码
import './utils/utils'
import './utils/request'
App({
  globalData: {},
  token: '',
  refreshToken: '',
  onLaunch() {
    // 小程序启动时，从本地存储中获取token及refreshToken赋值给app实例
    this.getStorage('token')
    this.getStorage('refreshToken')
  },
  // 将token存储到全局实例app中，然后判断app实例中是否有token。getApp()
  getStorage(param) {
    // 异步实现
    wx.getStorage({
      key: param,
      success: (res) => {
        this[param] = res.data
      },
      fail: (err) => {
        this[param] = ''
      }
    })
  },
  // 把本地存储token进行封装 多个页面可以使用
  settoken(token1, refreshToken1) {
    // 下面代码是登录成功以后做的事情，将token保存起来
    const token = 'Bearer ' + token1
    const refreshToken = 'Bearer ' + refreshToken1
    getApp().token = token
    getApp().refreshToken = refreshToken
    // 将token存到本地存储中 
    // 同步写法 一般不用，因为同步的代码会有阻塞流程的影响，所以一般api尽量选择异步的
    // wx.setStorageSync('token', token) 
    wx.setStorage({
      key: 'token',
      data: token
    })
    wx.setStorage({
      key: 'refreshToken',
      data: refreshToken
    })
  }
})